package com.example.libary.common;

import lombok.Getter;

/**
 * 响应状态码枚举类
 */
@Getter
public enum ResultCode {
    
    /**
     * 成功
     */
    SUCCESS(200, "操作成功"),
    
    /**
     * 失败
     */
    ERROR(500, "操作失败"),
    
    /**
     * 未授权
     */
    UNAUTHORIZED(401, "未授权"),
    
    /**
     * 禁止访问
     */
    FORBIDDEN(403, "禁止访问"),
    
    /**
     * 资源不存在
     */
    NOT_FOUND(404, "资源不存在"),
    
    /**
     * 参数错误
     */
    PARAM_ERROR(400, "参数错误"),
    
    /**
     * 用户名或密码错误
     */
    LOGIN_ERROR(4001, "用户名或密码错误"),
    
    /**
     * 账号已停用
     */
    ACCOUNT_DISABLED(4002, "账号已停用"),
    
    /**
     * 图书已借出
     */
    BOOK_BORROWED(4003, "图书已借出"),
    
    /**
     * 图书借阅数量已达上限
     */
    BORROW_LIMIT(4004, "图书借阅数量已达上限"),
    
    /**
     * 图书已下架
     */
    BOOK_REMOVED(4005, "图书已下架");
    
    /**
     * 状态码
     */
    private final Integer code;
    
    /**
     * 消息
     */
    private final String message;
    
    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
} 